package nettyguide;

import io.netty.channel.ChannelInitializer;
import io.netty.channel.ChannelPipeline;
import io.netty.channel.socket.SocketChannel;
import io.netty.handler.codec.http.HttpServerCodec;

/**
 * 初始化器 channel注册后 ,执行相应的初始化方法
 * @author Shensg
 *
 * 2019年6月18日
 */
public class HelloServerInitializer extends ChannelInitializer<SocketChannel>{

	@Override
	protected void initChannel(SocketChannel channel) throws Exception {
		//通过channel获取对应的pipeline
		ChannelPipeline pipeline = channel.pipeline();
		//通过pipeline 添加handler
		//HttpServerCodec是由netty自己提供的助手类,可以理解为拦截器
		//当请求到服务器，我们需要做解码,响应到客户端做编码
		pipeline.addLast("HttpServerCodec", new HttpServerCodec());
		
		//添加自定义助手类 返回 "hello netty"
		pipeline.addLast("customHandler",new CustomHandler());
	}

}
